home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / fl / motion / easing / Elastic.as
Encoding:
Text File  |  2011-08-19  |  3.0 KB  |  106 lines

  1.  
  2. {
  3.    if(true)
  4.    {
  5.       Elastic = ┬º┬ºnewclass(Elastic,Object);
  6.    }
  7. }
  8.  
  9. package fl.motion.easing
  10. {
  11.    public class Elastic
  12.    {
  13.        
  14.       
  15.       public function Elastic()
  16.       {
  17.          super();
  18.       }
  19.       
  20.       public static function easeOut(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  21.       {
  22.          var _loc7_:Number = NaN;
  23.          if(param1 == 0)
  24.          {
  25.             return param2;
  26.          }
  27.          if((param1 = param1 / param4) == 1)
  28.          {
  29.             return param2 + param3;
  30.          }
  31.          if(!param6)
  32.          {
  33.             param6 = param4 * 0.3;
  34.          }
  35.          if(!param5 || param5 < Math.abs(param3))
  36.          {
  37.             param5 = param3;
  38.             _loc7_ = param6 / 4;
  39.          }
  40.          else
  41.          {
  42.             _loc7_ = param6 / (2 * Math.PI) * Math.asin(param3 / param5);
  43.          }
  44.          return param5 * Math.pow(2,-10 * param1) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6) + param3 + param2;
  45.       }
  46.       
  47.       public static function easeIn(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  48.       {
  49.          var _loc7_:Number = NaN;
  50.          if(param1 == 0)
  51.          {
  52.             return param2;
  53.          }
  54.          if((param1 = param1 / param4) == 1)
  55.          {
  56.             return param2 + param3;
  57.          }
  58.          if(!param6)
  59.          {
  60.             param6 = param4 * 0.3;
  61.          }
  62.          if(!param5 || param5 < Math.abs(param3))
  63.          {
  64.             param5 = param3;
  65.             _loc7_ = param6 / 4;
  66.          }
  67.          else
  68.          {
  69.             _loc7_ = param6 / (2 * Math.PI) * Math.asin(param3 / param5);
  70.          }
  71.          return -(param5 * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6)) + param2;
  72.       }
  73.       
  74.       public static function easeInOut(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  75.       {
  76.          var _loc7_:Number = NaN;
  77.          if(param1 == 0)
  78.          {
  79.             return param2;
  80.          }
  81.          if((param1 = param1 / (param4 / 2)) == 2)
  82.          {
  83.             return param2 + param3;
  84.          }
  85.          if(!param6)
  86.          {
  87.             param6 = param4 * (0.3 * 1.5);
  88.          }
  89.          if(!param5 || param5 < Math.abs(param3))
  90.          {
  91.             param5 = param3;
  92.             _loc7_ = param6 / 4;
  93.          }
  94.          else
  95.          {
  96.             _loc7_ = param6 / (2 * Math.PI) * Math.asin(param3 / param5);
  97.          }
  98.          if(param1 < 1)
  99.          {
  100.             return -0.5 * (param5 * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6)) + param2;
  101.          }
  102.          return param5 * Math.pow(2,-10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / param6) * 0.5 + param3 + param2;
  103.       }
  104.    }
  105. }
  106.